Policies govern the management aspects of a system application. An operation manager server may provide this functionality using rules and actions embedded in what is called a policy. At any given time, policies for various system applications within the operation manager server can be in action on the system. Either these policies can be scheduled to start at the same time or their executions may be overlapping in nature. A process may be spawned for each such policy that is scheduled. The spawned process executes the policy within the system and terminates. When multiple executions overlap, a large number of policies may compete with the system application for limited system resources and may cause peak workloads on the processor and memory of the system. Such spikes in the system often result in performance downgrade of applications currently active on the system. This can give rise to very high resource, such as CPU, memory, database, contention and may eventually lead to starvation of policies, such as failing to execute due to long delays in execution of previously spawned process.
Also, customers may use custom policies created using an operation manager server to address their own monitoring requirements. Therefore, schedule conflicts can be seen between the custom policies and the ones originally provided. The same issue takes a broader spectrum when the customers use system applications from multiple vendors. The existing applications load on the system also impacts execution of policies. The execution behavior of policies can be dependent on factors, such as whether the system is servicing peak business hours or off peak time. Any static analysis/modifications of policy schedules do not resolve the associated issues.
The issue becomes significant with the increase in the number of policies being executed on the system. Parallel execution of the policies may result in the system experiencing peak workload that causes a hampering of other applications that are running on the same system. Considering the volume of policies and the dynamic nature of the systems, therefore, the parallel execution of the policies is largely time consuming and error prone.